//  添加主要为了不翻译目录能力 变成pre代码
function createPre (font) {
  if (font) {
    if (font.length !== 0 && font.length !== undefined) {
      // 处理元素群
      for (let i = 0; i < font.length; i++) {
        createPre_template(font[i])
      }
    } else {
      // 处理单个元素
      if (font.nodeType === 1 && font.innerHTML) {
        createPre_template(font)
      }
    }
  }
}

// 转换Pre模板重用
// eslint-disable-next-line camelcase
function createPre_template (font) {
  if (font) {
    // 当非本地情况下的时候,has_children_p和has_parent_p不适用,可以直接进入下面的语句
    const content = font.outerHTML
    // 根据不同的翻译模式,设置不同的code元素,以及不同的颜色样式
    let prelement = null
    prelement = document.createElement('pre')
    const hasClassAttribute = font.getAttribute('class')
    font.setAttribute('class', `${hasClassAttribute || ''} notranslate`)
    const text = document.createTextNode(content)
    prelement.appendChild(text)
    const parent = font.parentNode
    parent.insertBefore(prelement, font)
    parent.removeChild(font)
  }
}

export { createPre }
